.progress ul {
  list-style: none;
  margin: 0;
  padding: 0 5px;
}

#TableOfContents {
    font-size: 13px !important;
    max-height: 85vh;
    overflow: auto;
    padding: 15px !important;
}


#TableOfContents > ul > li > ul > li > ul li {
  margin-right: 8px;
}

#TableOfContents > ul > li > a   {
  font-weight: bold; padding: 0 18px; margin: 0 2px;
}

#TableOfContents > ul > li > ul > li > a {
  font-weight: bold;
}

#TableOfContents > ul > li > ul > li > ul > li > ul > li > ul > li  {
    display: none;
}

body {
    font-size: 16px !important;
    color: #323232 !important;
}

#body a.highlight, #body a.highlight:hover, #body a.highlight:focus {
    text-decoration: none;
    outline: none;
    outline: 0;
}
#body a.highlight {
    line-height: 1.1;
    display: inline-block;
}
#body a.highlight:after {
    display: block;
    content: "";
    height: 1px;
    width: 0%;
    background-color: #0082a7; /*#CE3B2F*/
    -webkit-transition: width 0.5s ease;
    -moz-transition: width 0.5s ease;
    -ms-transition: width 0.5s ease;
    transition: width 0.5s ease;
}
#body a.highlight:hover:after, #body a.highlight:focus:after {
    width: 100%;
}
.progress {
    position:absolute;
    background-color: rgba(246, 246, 246, 0.97);
    width: auto;
    border: thin solid #ECECEC;
    display:none;
    z-index:200;
}

#toc-menu {
  border-right: thin solid #DAD8D8 !important;
  padding-right: 1rem !important;
  margin-right: 0.5rem !important;
}

#sidebar-toggle-span {
  border-right: thin solid #DAD8D8 !important;
  padding-right: 0.5rem !important;
  margin-right: 1rem !important;
}

.btn {
  display: inline-block !important;
  padding: 6px 12px !important;
  margin-bottom: 0 !important;
  font-size: 14px !important;
  font-weight: normal !important;
  line-height: 1.42857143 !important;
  text-align: center !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
  -ms-touch-action: manipulation !important;
      touch-action: manipulation !important;
  cursor: pointer !important;
  -webkit-user-select: none !important;
     -moz-user-select: none !important;
      -ms-user-select: none !important;
          user-select: none !important;
  background-image: none !important;
  border: 1px solid transparent !important;
  border-radius: 4px !important;
  -webkit-transition: all 0.15s !important;
     -moz-transition: all 0.15s !important;
          transition: all 0.15s !important;
}
.btn:focus {
  /*outline: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;*/
  outline: none !important;
}
.btn:hover,
.btn:focus {
  color: #2b2b2b !important;
  text-decoration: none !important;
}

.btn-default {
  color: #333 !important;
  background-color: #fff !important;
  border-color: #ccc !important;
}
.btn-default:hover,
.btn-default:focus,
.btn-default:active {
  color: #fff !important;
  background-color: #9e9e9e !important;
  border-color: #9e9e9e !important;
}
.btn-default:active {
  background-image: none !important;
}

/* anchors */
.anchor {
  color: #00bdf3;
  font-size: 0.5em;
  cursor:pointer;
  visibility:hidden;
  margin-left: 0.5em;
    position: absolute;
    margin-top:0.1em;
}

h2:hover .anchor, h3:hover .anchor, h4:hover .anchor, h5:hover .anchor, h6:hover .anchor {
  visibility:hidden;
}

/* Redfines headers style */

h2, h3, h4, h5, h6 {
  font-weight: 400;
  line-height: 1.1;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  font-weight: inherit;
}

h2 {
  font-size: 2.5rem;
  line-height: 110% !important;
  margin: 2.5rem 0 1.5rem 0;
}

h3 {
  font-size: 2rem;
  line-height: 110% !important;
  margin: 2rem 0 1rem 0;
}

h4 {
  font-size: 1.5rem;
  line-height: 110% !important;
  margin: 1.5rem 0 0.75rem 0;
}

h5 {
  font-size: 1rem;
  line-height: 110% !important;
  margin: 1rem 0 0.2rem 0;
}

h6 {
  font-size: 0.5rem;
  line-height: 110% !important;
  margin: 0.5rem 0 0.2rem 0;
}

p {
    margin: 1rem 0;
}

figcaption h4 {
    font-weight: 300 !important;
    opacity: .85;
    font-size: 1em;
    text-align: center;
    margin-top: -1.5em;
}

.select-style {
    border: 0;
    width: 150px;
    border-radius: 0px;
    overflow: hidden;
    display: inline-flex;
}

.select-style svg {
    fill: #ccc;
    width: 14px;
    height: 14px;
    pointer-events: none;
    margin: auto;
}

.select-style svg:hover {
  fill: #e6e6e6;
}

.select-style select {
    padding: 0;
    width: 130%;
    border: none;
    box-shadow: none;
    background: transparent;
    background-image: none;
    -webkit-appearance: none;
    margin: auto;
    margin-left: 0px;
    margin-right: -20px;
}

.select-style select:focus {
    outline: none;
}

.select-style :hover {
    cursor:  pointer;
}

/************************
*       table          *
************************/

.tm-table {
    overflow-x: auto;
}

/************************
*       IMAGES          *
************************/
#body img{
  margin: 0 auto;
}
img, figure,figure img{
  max-width: 100%;  
}
figure{
  display: table;
  margin: 2em auto;
  padding: 0;
}
figure.right, figure.left {
    width: auto;
    float: none;
    margin: auto auto;
}
@media (min-width: 40em) {
  figure.right {
      width: auto;
      float: right;
      margin: 0 0 2em 2em;
  }
  figure.left {
      width: auto;
      float: left;
      margin: 0 2em 2em 0;
  }
}
figure img{
  display: block;
  margin: auto;
}
figcaption{
  display: table-caption;
  caption-side: bottom;
}
.logo-image{
  max-width: 250px;
  max-height: 80px;
}


/************************
*     NOTICE      *
************************/

.notice1 {
  margin: 1em 0;
  padding: 10px 1em;
  background-color: #ffded4;
  border-left: 4px solid #f65a3c;    
}
.notice2 {
  margin: 1em 0;
  padding: 10px 1em;
  background-color: #fff3d4;
  border-left: 4px solid #f6b73c;    
}
.notice3{
  margin: 1em 0;
  padding: 10px 1em;
  background-color: #d4e0ff;
  border-left: 4px solid #3c7bf6; 
}
.notice4,
.notice5,
.notice6{
    margin: 1em 0;
    padding: 10px 1em;
    border-left: 4px solid rgba(92, 184, 92, 0.8);
    background: #E6F9E6;
}

/************************
*   ANCHOR LINKS        *
************************/

/*fix headline anchor css*/
a.tm-heading-anchor {
  display:  inline-block;
  margin-left:  -0.8em;
  width: 0.8em;
  font-weight: 300;
  opacity: .5;
  text-decoration: none;
}
a.tm-heading-anchor:hover,a.tm-heading-anchor:focus {
    opacity: 1;
    text-decoration: none;
}
h2:focus > .tm-heading-anchor, 
h2:hover > .tm-heading-anchor, 
h3:focus > .tm-heading-anchor, 
h3:hover > .tm-heading-anchor, 
h4:focus > .tm-heading-anchor, 
h4:hover > .tm-heading-anchor,
h5:focus > .tm-heading-anchor, 
h5:hover > .tm-heading-anchor,
h6:focus > .tm-heading-anchor, 
h6:hover > .tm-heading-anchor{
  opacity: .75;
}

/************************
*  DOWNLOAD LINK    *
************************/

a.tm-download{}
a.tm-download::before{
  content: "\2193";
    -webkit-mask: url("data:image/svg+xml; utf8, <svg width='24' fill='currentColor' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'><path d='M23 12c0-3.037-1.232-5.789-3.222-7.778s-4.741-3.222-7.778-3.222-5.789 1.232-7.778 3.222-3.222 4.741-3.222 7.778 1.232 5.789 3.222 7.778 4.741 3.222 7.778 3.222 5.789-1.232 7.778-3.222 3.222-4.741 3.222-7.778zM21 12c0 2.486-1.006 4.734-2.636 6.364s-3.878 2.636-6.364 2.636-4.734-1.006-6.364-2.636-2.636-3.878-2.636-6.364 1.006-4.734 2.636-6.364 3.878-2.636 6.364-2.636 4.734 1.006 6.364 2.636 2.636 3.878 2.636 6.364zM11 8v5.586l-2.293-2.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414l4 4c0.092 0.092 0.202 0.166 0.324 0.217 0.245 0.101 0.521 0.101 0.766 0 0.118-0.049 0.228-0.121 0.324-0.217l4-4c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-2.293 2.293v-5.586c0-0.552-0.448-1-1-1s-1 0.448-1 1z'></path></svg>") no-repeat 50% 50%;
    mask: url("data:image/svg+xml; utf8, <svg width='24' fill='currentColor' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'><path d='M23 12c0-3.037-1.232-5.789-3.222-7.778s-4.741-3.222-7.778-3.222-5.789 1.232-7.778 3.222-3.222 4.741-3.222 7.778 1.232 5.789 3.222 7.778 4.741 3.222 7.778 3.222 5.789-1.232 7.778-3.222 3.222-4.741 3.222-7.778zM21 12c0 2.486-1.006 4.734-2.636 6.364s-3.878 2.636-6.364 2.636-4.734-1.006-6.364-2.636-2.636-3.878-2.636-6.364 1.006-4.734 2.636-6.364 3.878-2.636 6.364-2.636 4.734 1.006 6.364 2.636 2.636 3.878 2.636 6.364zM11 8v5.586l-2.293-2.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414l4 4c0.092 0.092 0.202 0.166 0.324 0.217 0.245 0.101 0.521 0.101 0.766 0 0.118-0.049 0.228-0.121 0.324-0.217l4-4c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-2.293 2.293v-5.586c0-0.552-0.448-1-1-1s-1 0.448-1 1z'></path></svg>") no-repeat 50% 50%;
    -webkit-mask-size: cover;
    mask-size: cover;
  background-color: currentColor; 
  display: inline-block;
  margin-right: 5px;
  width:  24px;
  height: 24px;
  text-decoration: none;
  vertical-align: middle;
}
a.tm-download:hover::before{
  text-decoration: none;
}

/************************
*     YOUTUBE     *
************************/

.video-container{
  position: relative;
  text-align: center;
}
img.youtube{
  position: relative;
  max-width: 560px;
}
button.play-video { 
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -50px;
  margin-left: -50px;
  height: 100px;
  width: 100px;
  background: #e0474c;
  color: #FFFFFF;
  border-radius: 50%;
  border: 0px;
  padding: 0;
  text-align: center;
}
button.play-video:hover {
  background: #cc4146;
  cursor: pointer;
}
button.play-video::after {
  position: absolute;
  top: 50%;
  margin: -20px 0 0 -15px;
  height: 0;
  width: 0;
  border-style: solid;
  border-width: 20px 0 20px 40px;
  border-color: transparent transparent transparent rgba(255, 255, 255, 0.75);
  content: ' ';
}

ul.post{
  text-align: left;
  padding: 0;
  list-style: none;
}
#chapter .post p{
  text-align: left;
}

@media only all and (max-width: 47.938em) {
  #breadcrumbs .links, #top-github-link-text {
      display: none;
  }
}

.is-sticky #top-bar {
  box-shadow: -1px 2px 5px 1px rgba(0, 0, 0, 0.1); 
}